function soNumero(campo) {
    filtraTexto("0123456789", campo)
}

function soNumeroVirgula(campo) {
    filtraTexto("0123456789,", campo)
}

function soNumeroPontoVirgula(campo) {
    filtraTexto("0123456789.,", campo)
}

function filtraTexto(digitos, campo) {
    var campo_temp;
    for (var i = 0; i <= campo.value.length; i++) {
        campo_temp = campo.value.substring(i, i + 1);
        if (digitos.indexOf(campo_temp) == -1) {
            campo.value = campo.value.substring(0, i);
            break;
        }
    }
}

function digitaTab(event) {
    var keyCode = (event.keyCode ? event.keyCode : (event.which ? event.which : event.charCode));
    if (keyCode != 9) {
        return false;
    } else {
        return true;
    }
}

function formatarMoeda(campo) {
    if (campo.value == "") {
        campo.value = "0,00";
    } else {
        soNumeroPontoVirgula(campo);
    }
}

function validarMoeda(campo) {
    var digits = "0123456789";
    for (var i = 0; i <= campo.value.length; i++) {
        var campo_temp = campo.value.substring(i, i + 1);
        if (digits.indexOf(campo_temp) == -1) {
            campo.value = campo.value.substring(0, i)
                    + campo.value.substring(i + 1, campo.value.length);
        }
    }
    if (campo.value.length > 2) {
        campo.value = campo.value.substring(0, campo.value.length - 2) + ","
                + campo.value.substring(campo.value.length - 2, campo.value.length);
    }
    if (campo.value.length > 6) {
        campo.value = campo.value.substring(0, campo.value.length - 6) + "."
                + campo.value.substring(campo.value.length - 6,
                        campo.value.length);
    }
    if (campo.value.length > 10) {
        campo.value = campo.value.substring(0, campo.value.length - 10) + "."
                + campo.value.substring(campo.value.length - 10,
                        campo.value.length);
    }
    if ((campo.value.substring(0, 2) == "00")
            || (campo.value.length > 4 && campo.value.substring(0, 1) == "0")) {
        campo.value = campo.value.substring(1, campo.value.length);
    }
}

function limitarTamanho(campo, tam) {
    if (campo.value.length > tam * 1) {
        campo.value = campo.value.substring(0, tam * 1);
    }
}

function limitaRange(campo, ini, fim) {
    if (ini == null) {
        ini = 0
    }
    if (fim == null) {
        fim = 100
    }
    if (campo.value < ini)
        campo.value = ini;
    if (campo.value > fim)
        campo.value = fim;
}

function validarData(campo) {
    var dia;
    var mes;
    var ano;
    var digits = "0123456789";
    for (var i = 0; i <= campo.value.length; i++) {
        var campo_temp = campo.value.substring(i, i + 1);
        if (campo_temp == "/" || digits.indexOf(campo_temp) == -1) {
            campo.value = campo.value.substring(0, i)
                    + campo.value.substring(i + 1, campo.value.length);
        }
    }
    if (campo.value.length >= 2) {
        dia = campo.value.substring(0, 2) * 1;
        if (dia > 31) {
//			alert("O dia não pode ser maior que 31.");
            campo.value = "";
        }
    }
    if (campo.value.length >= 4) {
        dia = campo.value.substring(0, 2) * 1;
        mes = campo.value.substring(2, 4) * 1;
        if (mes > 12) {
//			alert("O mês não pode ser maior que 12.");
            campo.value = campo.value.substring(0, 2);
        }
        if (mes == 2 && dia > 29) {
//			alert("Esse mês tem no máximo 29 dias.");
            campo.value = "29" + campo.value.substring(2, 4);
        }
        if ((mes == 4 || mes == 6 || mes == 9 || mes == 11) && (dia > 30)) {
//			alert("Esse mês só tem 30 dias.");
            campo.value = "30" + campo.value.substring(2, 4);
        }
    }
    if (campo.value.length >= 8) {
        dia = campo.value.substring(0, 2) * 1;
        mes = campo.value.substring(2, 4) * 1;
        ano = campo.value.substring(4, 8) * 1;
        if (!((ano % 4 == 0 && ano % 100 != 0) ||
                (ano % 400 == 0)) && mes == 2 && dia == 29) {
//			alert("Esse mês tem 28 dias.");
            campo.value = "28" + campo.value.substring(2, 8);
        }
        else {
            campo.value = campo.value.substring(0, 8);
        }
    }
    if (campo.value.length > 2) {
        campo.value = campo.value.substring(0, 2) + "/" + campo.value.substring(2, campo.value.length);
    }
    if (campo.value.length > 5) {
        campo.value = campo.value.substring(0, 5) + "/" + campo.value.substring(5, campo.value.length);
    }

}

function getParameterByName(name) {
    name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"), results = regex.exec(location.search);
    return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}